package br.gov.mi.corporativo.dominio.comum;

// default package
// Generated 12/11/2014 10:19:36 by Hibernate Tools 4.0.0

import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

import org.hibernate.annotations.Immutable;

/**
 * MunicipioPopulacao generated by hbm2java
 */
@Entity @Immutable
@Table(schema="DES_COMUM",name = "MUNICIPIO_POPULACAO", uniqueConstraints = @UniqueConstraint(columnNames = {
		"ID_MUNICIPIO", "NR_ANO" }))
public final class MunicipioPopulacao implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1734896549833570464L;
	
	@Id
	@Column(name = "ID_MUNICIPIO_POPULACAO", unique = true, nullable = false, precision = 22, scale = 0)
	private Long idMunicipioPopulacao;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_MUNICIPIO", nullable = false)
	private Municipio municipio;
	
	@Column(name = "NR_ANO", nullable = false, precision = 4, scale = 0)
	private Long nrAno;
	
	@Column(name = "QT_POPULACAO", precision = 15, scale = 0)
	private Long qtPopulacao;
	
	@Column(name = "QT_POPULACAO_OCUPADA", precision = 15, scale = 0)
	private Long qtPopulacaoOcupada;
	
	@Column(name = "QT_POPULACAO_ASSALARIADA", precision = 15, scale = 0)
	private Long qtPopulacaoAssalariada;
	
	@Column(name = "QT_UINIDADES", precision = 15, scale = 0)
	private Long qtUinidades;
	
	@Column(name = "VL_SALARIO_REMUNERACAO", precision = 15)
	private BigDecimal vlSalarioRemuneracao;

	public MunicipioPopulacao() {
	}

	public MunicipioPopulacao(Long idMunicipioPopulacao,
			Municipio municipio, Long nrAno) {
		this.idMunicipioPopulacao = idMunicipioPopulacao;
		this.municipio = municipio;
		this.nrAno = nrAno;
	}

	public MunicipioPopulacao(Long idMunicipioPopulacao,
			Municipio municipio, Long nrAno, Long qtPopulacao,
			Long qtPopulacaoOcupada, Long qtPopulacaoAssalariada,
			Long qtUinidades, BigDecimal vlSalarioRemuneracao) {
		this.idMunicipioPopulacao = idMunicipioPopulacao;
		this.municipio = municipio;
		this.nrAno = nrAno;
		this.qtPopulacao = qtPopulacao;
		this.qtPopulacaoOcupada = qtPopulacaoOcupada;
		this.qtPopulacaoAssalariada = qtPopulacaoAssalariada;
		this.qtUinidades = qtUinidades;
		this.vlSalarioRemuneracao = vlSalarioRemuneracao;
	}

	
	public Long getIdMunicipioPopulacao() {
		return this.idMunicipioPopulacao;
	}

	
	public Municipio getMunicipio() {
		return this.municipio;
	}
	
	
	public Long getNrAno() {
		return this.nrAno;
	}

	
	public Long getQtPopulacao() {
		return this.qtPopulacao;
	}

	
	public Long getQtPopulacaoOcupada() {
		return this.qtPopulacaoOcupada;
	}

	
	public Long getQtPopulacaoAssalariada() {
		return this.qtPopulacaoAssalariada;
	}

	
	public Long getQtUinidades() {
		return this.qtUinidades;
	}

	
	public BigDecimal getVlSalarioRemuneracao() {
		return this.vlSalarioRemuneracao;
	}

}
